#ifndef PROCESOJUGADOR_H_
#define PROCESOJUGADOR_H_

#include "Receptor.h"
#include "Trasmisor.h"
#include "Jugador.h"
#include "Comunicador.h"
#include <string>

class ProcesoJugador : public Receptor, public Trasmisor {
	public:
		ProcesoJugador(char* unJugador, char* totalJugadores, char* debug);
		~ProcesoJugador();
		int correr();
		
	protected:
		Jugador jugador;
		std::string jugadorNombre, totalJugadores;
		
		
		void pasarCarta();
		void recibirCarta();
		void abrirCanalLecturaCarta();
		void abrirCanalEscrituraCarta();
		void matarRecibidorSiguiente();
		void recibirOKRecibidor();

	private:
		Comunicador *aCoord, *deCoord;
		void abrirCanalesCoordinador();
		void cerrarCanalesCoordinador();
		void recibirCartasIniciales();
		int esperarAvisoDelCoodinador();
		std::string incrementarJugador();
		
};

#endif /* PROCESOJUGADOR_H_ */

